home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / boot tools / betterstartup / betterstartup.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  41KB  |  692 lines

  1. @database "BetterStartup.guide"
  2. @$VER: BetterStartup.guide 1.0 (26.3.95)
  3. @(c) 1995 Jan Skypala of Better Software
  4. @smartwrap
  5. @node "Main" BetterStartup.guide
  6. @{jcenter}
  7. @{fg shine}@{b}BetterStartup@{ub}@{fg text}@{line}
  8. release 1.0@{line}
  9.  1995 Jan Sk
  10. pala@{line}
  11.  @{jleft}@{" Introduction " link intro }  -  Really small info about the program@{line}
  12.  @{" Description  " link descript }  -  More indeep description@{line}
  13.  @{" Legal stuff  " link shareware }  -  Can I give it to my friend?@{line}
  14.  @{" Registering  " link register }  -  Yes, I'll support the author!@{line}
  15.  @{" Disclaimer   " link disclaimer }  -  The known ugly stuff@{line}
  16.  @{" Requirements " link requirements }  -  What to own to be able to use the program@{line}
  17.  @{" Instalation  " link install }  -  What to do so I can use it all the time@{line}
  18.  @{" Usage        " link usage }  -  How to call the program@{line}
  19.  @{" Interface    " link gui }  -  How to click on gadgets@{line}
  20.  @{" Script       " link script }  -  Do what I want @{b}---the most important---@{ub}@{line}
  21.  @{" Notes        " link notes }  -  some notes@{line}
  22.  @{" Credits      " link credits }  -  the people I feel to thank them@{line}
  23.  @{" History      " link history }  -  some info about the past@{line}
  24.  @{" Future       " link future }  -  that will happen in the worst case@{line}
  25.  @{" Author       " link author }  -  who is that bastard that wrote it!@{line}
  26. You can have some difficulties with reading this guide if you have not
  27. AmigaGuide or Multiview v40 (in Workbench 3.1) or better. This document is using
  28. new AmigaGuide command \@smartwrap for word wrapping that makes the document not
  29. look nice in previous versions, but still much more readable that with using
  30. older command \@wordwrap.
  31. @endnode
  32. @node intro "Introduction into BetterStartup program"
  33. @{b}Introduction@{ub}@{line}
  34.     So BetterStartup is another Boot menu like utility. But don't stop reading now,
  35. continue, because (I hope) you'll find it's slightly different from the others.@{line}
  36. @{i}First:@{ui}   It is short (because it is fully written in assembler).@{line}
  37. @{i}Second:@{ui}  It offers you very nice GUI (IMHO), trying to match both Workbench
  38. Early Startup Menu and my personal feelings as much as possible.@{line}
  39. @{i}Third:@{ui}   It offers you not only choices (buttons), but also some options
  40. (checkboxes - for starting residents, patches) - I don't know about the second
  41. one to have this feature.@{line}
  42. @{i}Fourth:@{ui}  Unlike many other similar programs more than one command can be
  43. provided with each choice/option.@{line}
  44. @{i}Fifth:@{ui}   It can avoid opening GUI procceeding the first choice as the default.
  45. If this option is on then bringing GUI on is as simple as keeping LMB pressed.@{line}
  46. @{i}Sixth:@{ui}   It also contains some patches and utils inside.@{line}
  47. @{i}Seventh:@{ui} It can completely replace your startup-sequence script (well nearly,
  48. SetPatch and Path should be started in there).
  49. @endnode
  50. @node descript "Description of BetterStartup program"
  51. @{b}Description@{ub}@{line}
  52. If you are rich and you have enough money to buy 10MB of RAM there is probably
  53. no case you get the @{b}Not enough memory@{ub} messages. But if you are not and
  54. you won't have the money in short time, you are maybe thinking about utility to
  55. offer you several boot possibilities, where you can make ideal setups for
  56. selected applications. And if you searched through Internet you probably found
  57. several of them (e.g. Bootselector, Startup-Menu etc.). And maybe you found the
  58. same dislikes that I did: usualy they are too long, offer too little and look
  59. quite ugly. So here comes the one that tries to solve the problem forever.@{line}
  60. BetterStartup is fully written in assembler, so it's small size. Well you can say 7
  61. kB is quite a lot, but BetterStartup is not only boot menu - menu part is about 3
  62. kB. As it is written in the BetterStartup.readme file the program is definitive
  63. booting utility - it also contains several fine patches. And BetterStartup doesn't
  64. only offers you boot choices and patches, but it is the first boot menu with
  65. options also! So I think for what it offers it's very short.@{line}
  66. IMHO BetterStartup has also very nice look. If you want to get idea before trying
  67. just look at the @{"picture" link "BetterStartup.ilbm/main"} distributed in this archive. It's up to you to decide.@{line}
  68. I played with BetterStartup a lot and I will continue. The point I want to reach is
  69. that it is not free of charge. I ask you some money for it. I hope you find the
  70. program of every boot use and the fee of small amount. Thank you for supporting
  71. Amiga shareware market.
  72. @endnode
  73. @node shareware "So is it free or not?"
  74. @{b}Legal stuff and shareware info@{ub}@{line}
  75.     BetterStartup and the related files are copyright 
  76.  1995 Jan Skypala@{line}
  77.     _asl.library is copyright 
  78.  1995 Jan Skypala@{line}
  79.     You can distribute this archive for no or nominal fee, but you have to
  80. include all the files - the program, documentation, pictures, _asl.library and
  81. sample script. The archive may be placed on CD-ROMs, magazine coverdisks. I
  82. would be glad to get the CD-ROM or magazine if my program is there (so I don't
  83. have to pay for my work).@{line}
  84.     The paragraph above is not applicable for beta releases. You must not
  85. distribute beta releases in any way.@{line}
  86.     The software is divided into several categories. Freeware, shareware,
  87. giftware, cardware, licenceware, commercial.@{line}
  88.     Shareware programs are also splitted into two categories: the first one,
  89. obviously called 'true shareware' are full programs, just authors trust you will
  90. send them money if you use the program; the second one is somehow crippled, and
  91. at the moment you send the fee to the author, he sends you the full version or
  92. keyfile so the program has no restrictions.@{line}
  93.     BetterStartup is crippled shareware. You may ask why I did it. Well I don't
  94. believe there would be more than 3 people sending me the money at all. You may
  95. also ask why I made the program shareware at all - it's so small. I don't think
  96. the length makes the price of the product, I guess the quality does. And believe
  97. me I don't expect to make any big money out of the program, all the money I get
  98. from it I will spend on other shareware programs (the ones I will do that:
  99. AmigaE, MUI, DeliTracker, ARTM etc.). So by sending the fee to me you just
  100. support the Amiga Shareware market, because I will feel I've got to work harder
  101. on the program and the people who will get the money from me also.@{line}
  102.     BetterStartup is crippled in the way it offers you only first two choices and
  103. first two options. At the moment I get the money from you I'll send you the
  104. so-called keyfile that will unlock you all the versions up to the future. You
  105. must not distribute the keyfile - it's for your personal use only. You may make
  106. a backup of keyfile. There is your name and address in the keyfile, so I'll know
  107. you, if you spread your keyfile to the world.@{line}
  108.     I tried to make the fee enough low to pay the cost of the post and to save
  109. some money for my shareware fees. So the prices are: US $10, 
  110.  10 or 15 DM. I
  111. accept banknotes only. I don't accept any kind of cheques, only cash. If you
  112. want to protect money in the envelope then put it into aluminium folio.@{line}
  113.     There are two ways of getting the keyfile:@{line}
  114.     - through Internet - it's very fast (probably you will have the file within
  115. 24 hours from the moment I got the money). If you decide for this option and you
  116. have PGP, please send me your public code, I would like to encrypt keyfile for
  117. sending. Anyway if you don't have PGP, I will send it just uuencoded. If you
  118. decide for this way of obtaining keyfile you may also wish to be informed about
  119. or get new release to your mailbox at the moment I release it.@{line}
  120.     - through snail mail - well don't expect TDK or Sony disks, they cost a lot,
  121. I will use noname ones (if you want names send five bucks more). It will also
  122. take more time to get to you and it can be even lost. Also you miss the
  123. possibility with updates.@{line}
  124.     So if you decided to register, fill in the @{"form" link register}
  125. @endnode
  126. @node register "Registration form"
  127. Just print this out using Multiview Project/Print menu option, fill in and send
  128. to @{"me" link author}@{line}
  129. Yes, I want to use BetterStartup and I need more than two choices/two options, @{line}
  130. so I decided to pay the fee.@{line}
  131. My name:             _______________________________________________________@{line}
  132. My address:          _______________________________________________________@{line}
  133.                      _______________________________________________________@{line}
  134.                      _______________________________________________________@{line}
  135.                      _______________________________________________________@{line}
  136.                      _______________________________________________________@{line}
  137.                      _______________________________________________________@{line}
  138. My Internet address: _______________________________________________________@{line}
  139. I wish to get keyfile by:  [ ] Internet e-mail     [ ] snail mail@{line}
  140. If I decided to get keyfile via Internet:@{line}
  141. [ ] I would like to be informed to the address above about every new release@{line}
  142. [ ] I would like to get every new release to my mail box@{line}
  143. [ ] none of the actions@{line}
  144. I have sent you my PGP public key:  YES / NO@{line}
  145. My comments to the program:@{line}
  146. ____________________________________________________________________________@{line}
  147. ____________________________________________________________________________@{line}
  148. ____________________________________________________________________________@{line}
  149. ____________________________________________________________________________@{line}
  150. ____________________________________________________________________________@{line}
  151. ____________________________________________________________________________@{line}
  152. ____________________________________________________________________________@{line}
  153. ____________________________________________________________________________@{line}
  154. ____________________________________________________________________________@{line}
  155. ____________________________________________________________________________@{line}
  156. ____________________________________________________________________________@{line}
  157. ____________________________________________________________________________@{line}
  158. ____________________________________________________________________________@{line}
  159. ____________________________________________________________________________@{line}
  160. ____________________________________________________________________________@{line}
  161. ____________________________________________________________________________@{line}
  162. ____________________________________________________________________________@{line}
  163. ____________________________________________________________________________@{line}
  164. ____________________________________________________________________________@{line}
  165. ____________________________________________________________________________@{line}
  166. ____________________________________________________________________________@{line}
  167.                            Signature:    _____________________________
  168. @endnode
  169. @node disclaimer "BetterStartup - DISCLAIMER"
  170. @{B}Disclaimer@{ub}@{line}
  171. THERE IS NO WARRANTY FOR THE SOFTWARE TO THE EXTENT PERMITTED BY APPLICABLE
  172. LAW.  EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
  173. OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
  174. EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  175. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  176. ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU.
  177. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  178. SERVICING, REPAIR OR CORRECTION.@{line}
  179. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
  180. ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE SOFTWARE
  181. AS PERMITTED BELOW, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
  182. SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  183. INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  184. DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
  185. OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
  186. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  187. DAMAGES.
  188. @endnode
  189. @node requirements "BetterStartup requirements"
  190. @{b}Requirements@{ub}@{line}
  191. BetterStartup requires:@{line}
  192. Workbench 2.04+@{line}
  193. diskfont.library v36+ for running in other font that topaz.font@{line}
  194. diskfont.library for OneFont@{line}
  195. asl.library and _asl.library for OneReq (_asl.library included here)@{line}
  196. @endnode
  197. @node install "BetterStartup instalation"
  198. @{b}Instalation@{ub}@{line}
  199. The instalation of BetterStartup cannot be done through Installer utility
  200. because it requires changing startup-sequence, which Installer cannot handle.
  201. Anyway, here comes the guide for installing BetterStartup:@{line}
  202. First start Pre-Install by double clicking on its icon. It will copy
  203. BetterStartup in C: directory and create the backup of startup-sequence for the
  204. case you will decide not to use BetterStartup (the backup file will be
  205. S:startup-sequence.backup). It will also create S:BetterStartup.script file, but
  206. @{fg shine}beware@{fg text}: you'll have to make few changes in it before first use!@{line}
  207. Now start text editor (ed is enough), load S:startup-sequence and change it to
  208. just four lines according to the example:@{line}
  209. C:SetPatch QUIET@{line}
  210. C:Path SYS:Utilities SYS:Tools  ;... add all paths you use@{line}
  211. C:BetterStartup NOGUI@{line}
  212. EndCLI >NIL:@{line}
  213. Save it to the disk and load S:BetterStartup.script into text editor. You'll
  214. find that it's just another copy of your original startup-sequence. OK, now
  215. delete lines where SetPatch, Path and EndCLI are run, add to the begining the
  216. lines:@{line}
  217. \@CHOICE@{line}
  218. Workbench@{line}
  219. 1@{line}
  220. and to the end:@{line}
  221. \@END@{line}
  222. and also save it to disk@{line}
  223. Well, everything is set up and if you reboot your Amiga it will reboot just like
  224. it always did. But reboot computer and keep left mouse button pressed while
  225. booting. VOILA! Simple menu will appear. One choice is not too much, but you can
  226. add more choices and also options just by editing S:BetterStartup.script file.
  227. For that see part about @{"keywords" link keywords}@{line}
  228. @{b}UnInstalling@{ub}@{line}
  229. This is easy, just start shell and type in:@{line}
  230. Delete C:BetterStartup@{line}
  231. Delete S;BetterStartup.script@{line}
  232. Copy S:Startup-sequence.backup S:Startup-sequence@{line}
  233. Delete S:Startup-sequence.backup@{line}
  234. @endnode
  235. @node usage "Running BetterStartup"
  236. @{b}Usage@{ub}@{line}
  237. BetterStartup is made for running in startup-sequence, but of course it can be
  238. called any other time also. One restriction applies: it cannot be called from
  239. Workbench, only from CLI. Template is:@{line}
  240. F=FILENAME,NOGUI/S@{line}
  241.   ----------------------------------------------------------------------------@{line}
  242.   F=FILENAME        Specifies the name of the file to be read as script for@{line}
  243.                     BetterStartup. Default is S:BetterStartup.script@{line}
  244.   NOGUI/S           Tells BetterStartup to open GUI only if you press left mouse@{line}
  245.                     button (usable in startup-sequence). If this argument is@{line}
  246.                     not applied GUI opens always.@{line}
  247. @endnode
  248. @node gui "Graphics user interface of BetterStartup"
  249. @{b}Graphics interface@{ub}@{line}
  250. BetterStartup graphics interface can be modified by several internal commands. See
  251. @{"GUI commands" link guicommands} for them.@{line}
  252. When BetterStartup opens it's GUI you usualy see two parts: Choices above Options
  253. (there can be only choices if you specify no options in script). Now you have
  254. these possibilities:@{line}
  255. @{i}1)@{ui} Just click on one choice and it will set options into default
  256. settings for this choice and proceed itself@{line}
  257. @{i}2)@{ui} Change options into the situation you like. Now click on the choice
  258. you want to proceed. Because you changed options BetterStartup will not proceed
  259. default options settings of selected choice, but the selection you did.@{line}
  260. If you want to set options into the default settings of one choice, just press
  261. Shift and click on the choice. BetterStartup will not procced the choice, it will
  262. just set the options according to the choice and notify that you did something
  263. with options, so it will not proceed the default settings when choice is
  264. selected without a qualifier.@{line}
  265. If you changed options, but you decided to use default settings of the choice you
  266. are going to proceed, just press Alt and left mouse button on the choice. In
  267. fact it is the same as if you press Shift and click on the button, then leave
  268. Shift and click on the choice again.
  269. @endnode
  270. @node script "BetterStartup script"
  271. @{b}Script@{ub}@{line}
  272. BetterStartup gets the information from the file called script (something like
  273. startup-sequence). It is plain ascii file that you can edit in any text editor.
  274. Each line contains one command. Most of the commands don't care about spaces
  275. - you can make any number of spaces between words and behind the last one, but
  276. some do care, so to be sure make one space between words and no space behind the
  277. last one on the line. If you want to find those exceptions start trying.@{line}
  278. There are several command types:@{line}
  279. - line starting with @{b};@{ub} is comment@{line}
  280. - line starting with @{b}\@@{ub} or @{b}&@{ub} is @{"keyword" link keywords} of BetterStartup@{line}
  281. - line starting with @{b}#@{ub} is @{"internal command" link icommands} of BetterStartup@{line}
  282. - all other lines are understood as AmigaDOS commands and are passed to AmigaDOS@{line}
  283. Recommended structure of script:@{line}
  284. Commands to be run everytime@{line}
  285. Commands to be run only if GUI is to be opened (between \@GUI and \@ENDGUI)@{line}
  286. Options definitions@{line}
  287. Choices definitions@{line}
  288. Small (really small) example of script:@{line}
  289.     C:MakeDir RAM:ENV RAM:T@{line}
  290.     #ASSIGN ENV: RAM:ENV T: RAM:T@{line}
  291.     C:IPrefs@{line}
  292. \@GUI@{line}
  293.     #FONT Helvetica.font 11@{line}
  294. \@ENDGUI@{line}
  295. &CHECKBOX Mount PC0:@{line}
  296.     C:Mount PC0:@{line}
  297. \@CHOICE Workbench@{line}
  298.   1@{line}
  299.     C:ConClip@{line}
  300.     C:LoadWB@{line}
  301. \@CHOICE Shell@{line}
  302.   0@{line}
  303.     NewShell WINDOW=CON:0/14 >NIL:@{line}
  304. \@END@{line}
  305. Here you can write anything, BetterStartup will ignore it@{line}
  306. For much better example click @{"here" link "Sample.script/main"}@{line}
  307. @endnode
  308. @node keywords "Keywords"
  309. @{b}Keywords@{ub}@{line}
  310. All keywords are case sensitive. There is just small number of keywords. Look at
  311. them now:@{line}
  312. @{b}\@END@{ub}            Anything behind this keyword is ignored.@{line}
  313. @{b}\@GUI@{ub}            This keyword starts the part that will be processed only in the@{line}
  314.                 the case GUI is to be opened.@{line}
  315. @{b}\@ENDGUI@{ub}         This keyword ends the part started by the previous keyword@{line}
  316. @{b}\@CHOICE@{ub}         This is very important keyword and there has to be at least one@{line}
  317.                 in every script. It defines choice and has the folowing@{line}
  318.                 structure:@{line}
  319.                 \@CHOICE Name@{line}
  320.                 Options settings@{line}
  321.                 Command1@{line}
  322.                 Command2@{line}
  323.                 ...@{line}
  324.                 The keyword \@CHOICE has to be alone on the line. Name specifies@{line}
  325.                 the text that will appear on the button. Options settings@{line}
  326.                 specifies presets of options for this choice. E.g. for each@{line}
  327.                 CheckBox there is 1 or 0 (whether CheckBox is to be checked or@{line}
  328.                 not). Commands are the AmigaDOS/internal commands that will be@{line}
  329.                 processed in the case this choice is to be processed. The end of@{line}
  330.                 choice definition is recognized by another keyword (even@{line}
  331.                 \@ENDGUI).@{line}
  332.                 The order of Options settings is equivalent to options@{line}
  333.                 definitions in the script.@{line}
  334.                 Small example of choice definition:@{line}
  335.                 \@CHOICE Workbench@{line}
  336.                   1 1 1 0 1 0 1@{line}
  337.                     #ASSIGNADD FONTS: SYS:Intellifont@{line}
  338.                     SetEnv Language "english"@{line}
  339.                     SetEnv Workbench $Workbench@{line}
  340.                     SetEnv Kickstart $Kickstart@{line}
  341.                     C:ConClip@{line}
  342.                     C:LoadWB@{line}
  343.                 \@CHOICE Shell@{line}
  344.                 ...@{line}
  345. All keywords that begins with @{b}&@{ub} are option definitions. All options are
  346. processed before the choice is processed, doesn't matter of the position in the
  347. script. Here are descriptions of already built-in option types:@{line}
  348. @{b}&CHECKBOX@{ub}       This keyword makes simple boolean option. If it will be processed@{line}
  349.                 or not depends on the boolean state (yes/no). Defined preset to@{line}
  350.                 appear in choices definitions are 1/0 (yes/no)@{line}
  351.                 CheckBox definition looks like:@{line}
  352.                 &CHECKBOX Name@{line}
  353.                 Command1@{line}
  354.                 Command2@{line}
  355.                 ...@{line}
  356.                 Keyword &CHECKBOX has to be alone on the line without any space@{line}
  357.                 behind it. Name is the text that will appear next to CheckBox@{line}
  358.                 gadget. Commands are AmigaDOS/internal commands that will be@{line}
  359.                 processed in the case CheckBox was set. CheckBox definition end@{line}
  360.                 is recognized by keyword instead of command.@{line}
  361.                 Small sample of CheckBox definition:@{line}
  362.                 &CHECKBOX Magic Menu@{line}
  363.                     #PATCHOGP@{line}
  364.                     SYS:Tools/Commodities/MagicMenu@{line}
  365.                 &CHECKBOX KingCON@{line}
  366.                 ...@{line}
  367. @endnode
  368. @node icommands "Internal commands"
  369. @{b}Internal commands@{ub}@{line}
  370. All internal commands are case sensitive. All of the internal commands that have
  371. no arguments must be followed by <ENTER> (10 ASCII), no spaces there.@{line}
  372. Number arguments @{b}/N@{ub} can be decimal or hexadecimal numbers (unlike
  373. AmigaDOS /N) - 0xA and 10 are the same numbers. Arguments described here have
  374. names, but they don't in the real program. So don't write@{line}
  375. #FONT fontname=Helvetica.font size=11,@{line}
  376. write only@{line}
  377. #FONT Helvetica.font 11@{line}
  378. Internal commands are split into several categories:@{line}
  379. @{" GUI commands " link guicommands}@{line}
  380. @{" Misc         " link misccommands}@{line}
  381. Built-in utilities and patches:@{line}
  382. @{" OneAssign    " link oneassign}@{line}
  383. @{" OneFont      " link onefont}@{line}
  384. @{" OnePromote   " link onepromote}@{line}
  385. @{" OneReq       " link onereq}@{line}
  386. @{" Others       " link othercommands}@{line}
  387. Here is list of examples of all implemented internal commands:@{line}
  388. #FONT Times.font 11@{line}
  389. #SCREENMODE 0x99004@{line}
  390. #NOFRAMES@{line}
  391. #CCOLUMNS 2@{line}
  392. #OCOLUMNS 3@{line}
  393. #CD Sys:Tools@{line}
  394. #MAKEDIR "RAM:my directory"@{line}
  395. #ASSIGN T: RAM:T LIBS: SYS: Libs ADD LIBS: SYS:Classes@{line}
  396. #ASSIGNPATH FloppyDisk: DF0:@{line}
  397. #ONEFONTNAME XEN.font@{line}
  398. #ONEFONTEXCEPTS Asm-One Imagine@{line}
  399. #ONEFONTEXCEPTSFONT DarkParticle.font@{line}
  400. #ONEFONT@{line}
  401. #TARGETMODE 0x91000@{line}
  402. #PROMOTEMODES 0x0 0x11000, 0x21000@{line}
  403. #PROMOTEEXCEPTS Workbench - OctaMED 0x99004@{line}
  404. #NOSCREENCENTRING@{line}
  405. #ONEPROMOTE@{line}
  406. #ONEREQ@{line}
  407. #VGAONLY@{line}
  408. #SETTDRETRY 1 0@{line}
  409. #PATCHOGP@{line}
  410. @endnode
  411. @node guicommands "Internal commands of BetterStartup GUI importance"
  412. These internal commands changes the look of BetterStartup GUI. They are recommended
  413. to be inserted between \@GUI and \@ENDGUI keywords, there is no sense to put
  414. them into choice or option definition.@{line}
  415. @{b}#FONT@{ub}           This command sets the font to be used by BetterStartup GUI. The@{line}
  416.                 default is Workbench screen text font but you can choose any@{line}
  417.                 other.@{line}
  418.                 Arguments are:@{line}
  419.                 fontname/K/A, size/N@{line}
  420.                 fontname has to be full name including @{b}.font@{ub} suffix.@{line}
  421.                 default size is same as of default font@{line}
  422. @{b}#SCREENMODE@{ub}     This command sets the screenmode for BetterStartup GUI. The@{line}
  423.                 default is default mode (mostly PAL or NTSC). Argument is:@{line}
  424.                 modeid/N/A@{line}
  425.                 modeid is number of screenmode (look at include files for them)@{line}
  426. @{b}#NOFRAMES@{ub}       If this command is present the frames around choices and@{line}
  427.                 options will not be drawn (and choices and options will be@{line}
  428.                 nearer to each other). No arguments.@{line}
  429. @{b}#CCOLUMNS@{ub}       This command sets the number of columns for layouting choices@{line}
  430.                 (default is 1). Argument is:@{line}
  431.                 no_of_columns/N/A@{line}
  432. @{b}#OCOLUMNS@{ub}       This command sets the number of columns for layouting options@{line}
  433.                 (default is 1) Argument is:@{line}
  434.                 no_of_columns/N/A
  435. @endnode
  436. @node misccommands "Misc commands"
  437. This part covers the commands that have no other place to be:@{line}
  438. @{b}#CD@{ub}             This is BetterStartup version of AmigaDOS Cd command. Why is it here@{line}
  439.                 present? Well because of practical reasons. AmigaDOS Cd command@{line}
  440.                 works fine in Shell and AmigaDOS scripts, but not executables. And@{line}
  441.                 some programs requires to be in their home directory when run@{line}
  442.                 (e.g. Imagine). So instead of writting:@{line}
  443.                 Cd Work:Imagine@{line}
  444.                 Imagine@{line}
  445.                 write in BetterStartup's script:@{line}
  446.                 #CD Work:Imagine@{line}
  447.                 Imagine@{line}
  448.                 So hopefully you understand, that argument is:@{line}
  449.                 dir/K/A@{line}
  450. @{b}#MAKEDIR@{ub}        This is replacement of AmigaDOS MakeDir command. Well it's in@{line}
  451.                 the program just because it is a feature of @{"OneAssign" link oneassign}, but I@{line}
  452.                 made it public so you can use alone also. The advantage of this@{line}
  453.                 version is that it can create full path of directories, not just@{line}
  454.                 one directory like AmigaDOS MakeDir. Template:@{line}
  455.                 dir/K/M/A@{line}
  456.                 Example: #MAKEDIR RAM:first/second/third@{line}
  457. @endnode
  458. @node oneassign "OneAssign"
  459. @{b}OneAssign@{ub} could be known to some people because of appearance on Aminet.
  460. It is AmigaDOS Assign command replacement which I made because there was about
  461. 30 calls of Assign in my startup-sequence and it took quite a lot of time.
  462. Advantage of OneAssign present in BetterStartup is that you don't have to own
  463. assembler to make it work (and recompile it everytime you change something).
  464. The command is:@{line}
  465. @{b}#ASSIGN@{ub}@{line}
  466. Now to the template - it's not simple, it could be written like:@{line}
  467. (TYPE/K,NAME/K/A,TARGET/K/A)/M@{line}
  468. That means that you can make several assigns using only one command. If no TYPE
  469. specified for NAME and TARGET, then TYPE of previous "group" used. There are
  470. four TYPEs:@{line}
  471. @{b}NORMAL@{ub} - normal assign, default at the begining@{line}
  472. @{b}ADD@{ub}    - adds new target to already existing name@{line}
  473. @{b}LATE@{ub}   - the assign will be created when prompted for it the first time@{line}
  474. @{b}PATH@{ub}   - the assign will remember the path instead of lock, like DF0:@{line}
  475. One more advantage: if TARGET does not exists and it can be created (meaning
  476. e.g. volume name is not invalid) OneAssign will create it. So e.g. instead of:@{line}
  477. IF EXISTS RAM:T@{line}
  478.     Delete RAM:T ALL >NIL:@{line}
  479. ENDIF@{line}
  480. MakeDir RAM:T@{line}
  481. Assign T: RAM:T@{line}
  482. you can write just:@{line}
  483. #ASSIGN T: RAM:T@{line}
  484. Delete T:#? ALL >NIL:@{line}
  485. See examples in @{"Sample.script" link sample.script/main}@{line}
  486. @endnode
  487. @node onefont "OneFont"
  488. @{b}OneFont@{ub} can be known to some people because it already exists on Aminet
  489. in separate form. It is utility for people that prefer some other font than the
  490. ugly topaz. OneFont will force all programs that try to open topaz to the new
  491. specified font (has to be size 8); it understand exceptions for programs like
  492. AsmOne that are directly reading character bitmaps and expect not only y size is
  493. 8 but x size also.@{line}
  494. diskfont.library is required for OneFont.@{line}
  495. @{b}#ONEFONTNAME@{ub}        Specifies the name of new font. Favourites are thinpaz@{line}
  496.                     and XEN. Argument:@{line}
  497.                     fontname/K/A@{line}
  498.                     fontname - full name (including @{b}.font@{ub} suffix)@{line}
  499. @{b}#ONEFONTEXCEPTS@{ub}     List of excepts - task names. They doesn't have to be full@{line}
  500.                     names, first 5 chars is usualy enough. They are case@{line}
  501.                     sensitive. You can get them in ARTM. Default: no exceptions.@{line}
  502.                     Arguments:@{line}
  503.                     tasknames/K/A/M@{line}
  504.                     The second appearance of this command overwrites the@{line}
  505.                     settings made by the first one (etc.).@{line}
  506. @{b}#ONEFONTEXCEPTSFONT@{ub} Specifies the name of the font to be given to programs@{line}
  507.                     that are recognized as excepts. Default: topaz.font.@{line}
  508.                     Argument:@{line}
  509.                     fontname/K/A@{line}
  510.                     fontname - full name (including @{b}.font@{ub} suffix)@{line}
  511. @{b}#ONEFONT@{ub}            Patches libraries functions. Checks if it was not already@{line}
  512.                     done and if #ONEFONTNAME was given. No arguments.@{line}
  513. Problems:@{line}
  514. The problem is in excepts with gadtools.library. Gadgets' texts are written in
  515. excepts font, but first time gadget is selected it is rewritten into font
  516. specified by #ONEFONTNAME. This problem is probably non-removable.@{line}
  517. @endnode
  518. @node onepromote "OnePromote"
  519. @{b}OnePromote@{ub} is screen mode promotion utility with exceptions in under
  520. 800 bytes. It centers the screen on overlaced workbenchs, create autoscroll for
  521. big screens (640x512 screen in 640x480 Multiscan) and forces new look (to
  522. programs like AsmOne). It will get BestModeID with graphics.library 39+ (it
  523. works also on 37 and 38 systems, just it doesn't ask for best mode).@{line}
  524. @{b}#TARGETMODE@{ub}         Destination mode for promoting (mode that are to be@{line}
  525.                     promoted will get this mode instead of the one it wanted).@{line}
  526.                     Default: default monitor (usualy PAL or NTSC). Argument:@{line}
  527.                     modeid/N/A@{line}
  528.                     modeid - id number of screen mode (look into include files).@{line}
  529. @{b}#PROMOTEMODES@{ub}       Source modes for promoting (these modes will be promoted@{line}
  530.                     into the mode specified by #TARGETMODE. Default: none,@{line}
  531.                     means no mode patching, just centring and forcing autoscroll@{line}
  532.                     and new look. Arguments:@{line}
  533.                     modeid/N/A/M@{line}
  534.                     modeid - list of screen modes ids (look into include files).@{line}
  535.                     The second appearance of this command overwrites the@{line}
  536.                     settings made by the first one (etc.).@{line}
  537. @{b}#PROMOTEEXCEPTS@{ub}     List of exceptions of OnePromote. Default: no excepts.@{line}
  538.                     Arguments:@{line}
  539.                     (screenname/K/A, mode/K/A)/M@{line}
  540.                     screenname - name of screen (Title or PubName)@{line}
  541.                     mode       - or modeid for specified screen (=mode/N/A)@{line}
  542.                                  or '-' for no patching at all (including screen@{line}
  543.                                  centring, newlook, autoscroll etc.)@{line}
  544.                     The second appearance of this command overwrites the@{line}
  545.                     settings made by the first one (etc.).@{line}
  546. @{b}#NOSCREENCENTRING@{ub}   Turns x coordinate screen centring off (default: on). No@{line}
  547.                     arguments.@{line}
  548. @{b}#ONEPROMOTE@{ub}         Patches the system functions - turns OnePromote on. No@{line}
  549.                     arguments.@{line}
  550. Problem: I recommend you in any case you use OnePromote to use the
  551. exception @{b}'Workbench
  552. -'@{ub} or you can get badly surprised.@{line}
  553. @endnode
  554. @node onereq "OneReq"
  555. @{b}OneReq@{ub} is memory saving utility for fans of RTPatch or ReqChange. It
  556. patches system in the way asl.library is opened at the moment it is
  557. @{i}really@{ui} needed, not at the moment programs call
  558. OpenLibrary(
  559. 'asl.library',
  560. 37L). This way you can save about 39kB (with 39+
  561. version of asl.library - it is 40kB long).@{line}
  562. There is no similar patch for req.library or arp.library because I didn't find
  563. any application that calls only requester functions from these libraries, so
  564. they would get into memory anyway.@{line}
  565. _asl.library is recommended for use with OneReq. Without _asl.library you don't
  566. save one byte but waste about 200 bytes, anyway everything works OK.
  567. _asl.library is included in BetterStartup archive.@{line}
  568. It is recommended to start OneReq before RTPatch or ReqChange.@{line}
  569. @{b}#ONEREQ@{ub}         Patches the system - starts OneReq. No arguments
  570. @endnode
  571. @node othercommands "Other built-in utilities"
  572. @{b}#VGAONLY@{ub}        Commodore's utility is included here. It's just 40 bytes long@{line}
  573.                 so it's 5 times shorter than VGAOnly v40 and 78 times shorter@{line}
  574.                 than VGAOnly v39. No arguments@{line}
  575. @{b}#SETTDRETRY@{ub}     Known program from Aminet is here - it will set the retry count@{line}
  576.                 of DF0:, DF1: etc. to specified value. Favourite value is 1 to@{line}
  577.                 speed up other than AmigaDOS format disks access. Try@{line}
  578.                 #SETTDRETRY
  579. 0, mount CrossDos and insert MS-DOS DD floppy into@{line}
  580.                 DF0: - you will see nice surprise. Arguments:@{line}
  581.                 retrycount/N/A, units/N/M/A@{line}
  582.                 retrycount - how many times to retry the disk@{line}
  583.                 units      - numbers of units (0 for DF0:, 1 for DF1: ...)@{line}
  584. @{b}#PATCHOGP@{ub}       Patches system functions to make MagicMenu coexists peacefully@{line}
  585.                 with other BOOPSI gadgets - MagicMenu sometimes gets into@{line}
  586.                 deadlock that they can end after specified time interval - the@{line}
  587.                 disadvantage is that after this interval also normal menu@{line}
  588.                 without moving will disappear, so setting it into 1 second is@{line}
  589.                 not of use. This patch peacefully tests the thing causing the@{line}
  590.                 deadlock to low deadlock possibility to minimum. No arguments.
  591. @endnode
  592. @node notes "Notes"
  593. @{b}Notes@{ub}@{line}
  594. This part is dedicated just for some notes author wanted to write into
  595. documentation. You can find usefull information in it but it can be also
  596. worthless.@{line}
  597. Maybe some of you know my older things - OneAssign and OneFont. Well I got only
  598. 1 postcard! What a shame. That was also the reason why I made BetterStartup
  599. crippled shareware. Of course the boy who have sent me the postcard for
  600. OneAssign gets the keyfile for free.@{line}
  601. Maybe you can also get free keyfile. If you find yourself below, just write me.
  602. Free keyfiles via Internet only (of course).@{line}
  603. Rob Hardy          - for being the only one to send me postcard@{line}
  604. Urban M
  605. ller       - for Xpk and running Aminet@{line}
  606. Roman Patzner      - for RomIcons@{line}
  607. Trevor Moriss      - for Pattern9 from MagicWBStuff3@{line}
  608. Martin Kornd
  609. rfer  - for MagicMenu@{line}
  610. Federico Giannici  - for CycleToMenu@{line}
  611. Nico Francois      - for ReqTools and ToolsDaemon@{line}
  612. Magnus Holmgren    - for ReqChange (not registered yet, sorry)@{line}
  613. Michael Berg       - for PowerCache@{line}
  614. John Veldthuis     - for VirusChecker (not registered, let's swap keyfiles ;-)@{line}
  615. Christoph Feck     - for JFIF datatype@{line}
  616. Stefan Stuntz      - for MUI (not registered, sorry, let's swap keyfiles ;-)@{line}
  617. Georg He
  618. mann      - for PasTeX@{line}
  619. If you made something nice and you think it would be of use for me (well maybe
  620. I'm already using it, just I deleted documnetation, so I don't know your name so
  621. I couldn't write it here) try to contact me also. Maybe you'll be lucky.@{line}
  622. I have no idea when the next release will appear. I released BetterStartup
  623. because it's working very good now and because other works are ahead of me, so
  624. you can already use it even without GUI editor. This editor is the next thing
  625. I'll do for BetterStartup, but before that I have to pass few exams at school
  626. and write Forth interpretter for PC. Then I'll start work on GUI editor. Maybe
  627. someone will write such a tool for BetterStartup before I will, but my one will
  628. appear for sure. I've got an idea and you can look at this @{"idea" link "BetterStartupPrefs.ilbm/main"}.@{line}
  629. Things called BetterClasses will be developped for GUI editor. This will include
  630. e.g. pages gadget. They will be also released in separated archive with full
  631. programmer documentation, examples and few of them also sources. They will be
  632. completely free.@{line}
  633. @endnode
  634. @node credits "Credits"
  635. @{b}Credits@{ub}@{line}
  636. I want to thank to these people:@{line}
  637. Rudolf Kudla and Zdenek Kabelac for being my beta testers, for their ideas and
  638. for being my very good friends.@{line}
  639. S. Koszewski for SetTDRetry that he made in 1994 and released with the source
  640. (so it was easier to understand for me and to port into BetterStartup)@{line}
  641. Osma Ahvenlampi for ObtainGIRPort that I added as a feature to BetterStartup.@{line}
  642. Nico Francois for his fantastic reqtools.library - that's the reason why I made
  643. OneReq. Anyway all my programs will call asl.library and everybody can use
  644. RTPatch or ReqChange same as I do.
  645. @endnode
  646. @node history "History of BetterStartup"
  647. @{b}History@{ub}@{line}
  648.     1.0 (37.204, 5th April 1995)@{line}
  649.         - first public release@{line}
  650. @endnode
  651. @node future "Future of BetterStartup"
  652. @{b}Future@{ub}@{line}
  653. Well I've got some ideas and I will deeply think about all the ideas registered
  654. users send me. I will think about some ideas from mails of people not-registered
  655. yet, but to be nearly sure I will implement the thing you want you have to
  656. register. I will often reply to Internet mails from registered users and I will
  657. select up to five of them I will discuss every idea I get from other mails. If
  658. you want to be one of them just write to me.@{line}
  659. The ideas that are on my mind now:@{line}
  660. - GUI editor for scripts@{line}
  661. - more options gadgets (cycle gadget soon, other later)@{line}
  662. - some more internal utilities and patches (I think about PatchPointer and
  663. BootScreen now, write me your ideas about these two and also any others)@{line}
  664. - possibility of structured menu (you select a choice and new page with new
  665. options and choices appears)@{line}
  666. - well this is exactly up to registered users: there is no control task
  667. (commodity or so) for patches. I can add one (it will be a piece of work I can
  668. spend on more interesting features), but it will rapidly enlarge the program
  669. length. So if enough mails from registered users comes to me that they want it I
  670. will put it there@{line}
  671. - more settings for OnePromote (NewLook, AutoScroll) just like #NOSCREENCENTRING
  672. can switch off one feature already - write me if you want it, I'm satisfied with
  673. it now, I don't switch it off.
  674. @endnode
  675. @node author "BetterStartup's author"
  676. @{b}Author information@{ub}@{line}
  677. You can reach me via Internet e-mail or snail mail. Don't expect I will reply
  678. to your snail mail if you are not registering right in the moment or you don't
  679. send money to cover the postage.@{line}
  680. Addresses:@{line}
  681. E-mail      one@risc.upol.cz@{line}
  682.             skypalaj@infnw.upol.cz@{line}
  683. Snail mail: Jan Skypala@{line}
  684.             Zasovska 730@{line}
  685.             Valasske Mezirici@{line}
  686.             757 01@{line}
  687.             Czech Republic@{line}
  688. If you have access to WorldWideWeb you can also look at my homepage. There is
  689. also one page completely dedicated to BetterStartup so you can get information
  690. about its development from there. The address is: http://phoenix.upol.cz/~one
  691. @endnode
  692.